Organizations implement Information Technology (“IT”) systems for the vital business value they provide. Such organizations are continually faced with maintaining IT infrastructure and prioritizing technology purchases. Unfortunately, many IT organizations do not have adequate information to make well-informed IT management decisions. For example, organizations may not know which software products are installed on enterprise endpoints, which software licenses are being used or not used, or how frequently licensed software is used.
Traditional asset management systems may attempt to track licensed software by tracking files of an installed software program. However, since files change as software programs are patched, updated, and upgraded, attempting to track files may be ineffective and often fails to identify installed software programs. As an alternative, software publishers may tag their software with a tag recognized by an asset management system. While tagging software may enable more accurate identification than tracking files, many software publishers may not provide tags for their software. Furthermore, even if a publisher decides to start providing tags for their software, legacy software applications from that publisher may not have been tagged. What is needed, therefore, is a more effective mechanism for identifying and tracking installed software applications.